//
//  EBMRequest.h
//  GuTouBao
//
//  Created by zhaoshijie on 2018/5/11.
//  Copyright © 2018 zhaoshijie. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface EBMRequest : NSObject


/**
 GET请求  返回数据不做处理直接返回
 
 @param urlString 接口地址
 @param headerDic 请求头
 @param parameters 内容
 @param successBlock 请求成功
 @param failBlock 请求失败
 */
+ (void)GETRequestWithUrlString:(NSString *)urlString
                      headerDic:(NSDictionary *)headerDic
                     parameters:(NSDictionary *)parameters
                   successBlock:(void(^)(id result))successBlock
                      failBlock:(void(^)(void))failBlock;



/**
 GET请求  提取data数据    自定义加载框
 
 @param urlString 接口地址
 @param headerDic 请求头
 @param parameters 内容
 @param loadView 加载位置
 @param tableView 列表
 @param successBlock 请求成功
 @param serverErrorBlock 服务器错误
 @param failBlock 请求失败
 */
+ (void)GETRequestTakeDataWithUrlString:(NSString *)urlString
                              headerDic:(NSDictionary *)headerDic
                             parameters:(NSDictionary *)parameters
                               loadView:(UIView *)loadView
                              tableView:(EBMBaseTableView *)tableView
                           successBlock:(void(^)(id result))successBlock
                       serverErrorBlock:(void(^)(id result))serverErrorBlock
                              failBlock:(void(^)(void))failBlock;



/**
POST请求  query       自定义加载框  不提去data，用户登录、单独处理

@param urlString 接口地址
@param headerDic 请求头
@param parameters 内容
@param loadView 加载位置
@param successBlock 请求成功
@param serverErrorBlock 服务器错误
@param failBlock 请求失败
*/
+ (void)POSTRequestNoDataWithUrlString:(NSString *)urlString
                             headerDic:(NSDictionary *)headerDic
                            parameters:(NSDictionary *)parameters
                        loadView:(UIView *)loadView
                          successBlock:(void(^)(id result))successBlock
                      serverErrorBlock:(void(^)(id result))serverErrorBlock
                             failBlock:(void(^)(void))failBlock;



/**
POST请求  query       自定义加载框

@param urlString 接口地址
@param headerDic 请求头
@param parameters 内容
@param loadView 加载位置
@param tableView 列表
@param successBlock 请求成功
@param serverErrorBlock 服务器错误
@param failBlock 请求失败
*/
+ (void)POSTRequestWithUrlString:(NSString *)urlString
                       headerDic:(NSDictionary *)headerDic
                      parameters:(NSDictionary *)parameters
                        loadView:(UIView *)loadView
                       tableView:(EBMBaseTableView *)tableView
                    successBlock:(void(^)(id result))successBlock
                serverErrorBlock:(void(^)(id result))serverErrorBlock
                       failBlock:(void(^)(void))failBlock;




/**
 POST请求 body    自定义加载框
 
 @param urlString 接口地址
 @param headerDic 请求头
 @param parameters 内容
 @param loadView 内容
 @param tableView 列表
 @param successBlock 请求成功
 @param serverErrorBlock 服务器错误
 @param failBlock 请求失败
 */
+ (void)POSTRequestInDataTaskWithUrlString:(NSString *)urlString
                                 headerDic:(NSDictionary *)headerDic
                                parameters:(NSDictionary *)parameters
                                  loadView:(UIView *)loadView
                                 tableView:(EBMBaseTableView *)tableView
                              successBlock:(void(^)(id result))successBlock
                          serverErrorBlock:(void(^)(id result))serverErrorBlock
                                 failBlock:(void(^)(void))failBlock;




/**
 POST请求
 
 @param urlString 接口地址
 @param headerDic 请求头
 @param parameters 内容
 @param imagesArray 图片
 @param loadView 加载位置
 @param successBlock 请求成功
 @param serverErrorBlock 请求成功
 @param failBlock 请求失败
 */
+ (void)POSTRequestUploadImageWithUrlString:(NSString *)urlString
                                  headerDic:(NSDictionary *)headerDic
                                 parameters:(NSDictionary *)parameters
                                imagesArray:(NSArray *)imagesArray
                                   loadView:(UIView *)loadView
                               successBlock:(void(^)(id result))successBlock
                           serverErrorBlock:(void(^)(id result))serverErrorBlock
                                  failBlock:(void(^)(void))failBlock;



@end
